// function containsDuplicate(nums) {
//     if (!nums || nums.length < 2) return false
//     let left = 0
//     while(left < nums.length) {
//         const leftNum = nums[left]
//         for (let right = left + 1; right < nums.length; right++) {
//             if (nums[right] === leftNum) return true
//         }
//         left++
//     }
//     return false
// }

// function containsDuplicate(nums) {
//     nums.sort((a,b) => a - b)
//     for (let index = 0; index < nums.length; index++) {
//         if (nums[index] === nums[index + 1]) {
//             return true
//         }
//     }
//     return false
// }

function containsDuplicate(nums) {
    const set = new Set()
    for (let index = 0; index < nums.length; index++) {
        const num = nums[index]
        if (set.has(num)) return true
        set.add(num)
    }
    return false
}

const nums = [1,2,3,4]

console.log(containsDuplicate(nums))